# 1. 创建一个列表包含从1到100的所有偶数。
libs = [i for i in range(2, 101, 2)]
print(libs)
# 2. 将上述列表中所有偶数替换为它们的平方。
libs = [i ** 2 for i in libs]
print(libs)
# 3. 从上述列表中删除所有大于1000的数字。
# print([i for i in libs if i <= 1000])

# # 4. 将列表逆序。
# print(libs[::-1])
#
# # 5. 使用切片操作取出列表中的前10个元素。
# print(libs[:10])

# 6. 将一个新列表`[101, 102, 103]`加到现有列表的末尾。
# print(libs + [101, 102, 103])

# 7. 计算列表中元素的平均值。
# print(sum(libs) / len(libs))

# 8. 找到列表中的最大值和最小值。
# print(max(libs), min(libs))

# 9. 找出列表中第一次出现的11的索引位置。
# print(libs.index(11))

# 10. 用循环遍历列表，把每个数字替换为其对应的字符形式（例如：1替换为'1'）。注意使用不同类型的循环来实现。
# for i in libs:
#     print(str(i))

# 11. 将列表中的所有元素转换成浮点数形式。
# for i in range(len(libs)):
#     libs[i] = float(libs[i])
# print(libs)

# 12. 找出列表中所有大于50的元素个数。
# print(len([i for i in libs if i > 50]))
# 13. 在列表的第3个位置插入数字99。
# libs.insert(2, 99)
# print(libs)
# 14. 删除列表中的最后一个元素。
# libs.pop()
# print(libs)
# 15. 使用列表推导式创建一个新列表，包含原列表中每个数字乘以2的结果。
# print([i * 2 for i in libs])

# 16. 将列表分成两部分，一部分是小于等于50的数，另一部分是大于50的数。
# print([i for i in libs if i <= 50], [i for i in libs if i])
# 17. 将列表转换为一个字典，其中列表元素作为键，其在列表中的索引作为值。
# print({i: libs.index(i) for i in libs})
# 18. 使用`enumerate`函数遍历列表，并打印元素及其索引。
# for i, j in enumerate(libs):
#     print(i, j)

# 19. 从列表中随机取出一个元素。
# import random
# print(random.choice(libs))


# 20. 将列表保存到一个txt文件里，每个元素占一行。
with open('list.txt', 'w') as f:
    for i in libs:
        f.write(str(i) + '\n')
